<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="//static.moinmo.in/favicon.ico">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="robots" content="noindex,nofollow">

<title>HelpOnUpdating - 1.9 Master Wiki</title>
<script type="text/javascript" src="../MoinMoin/web/static/htdocs/common/js/common.js"></script>


<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="../MoinMoin/web/static/htdocs/modernized/css/common.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="../MoinMoin/web/static/htdocs/modernized/css/print.css">

<!-- css only for MS IE6/IE7 browsers -->
<!--[if lt IE 8]>
   <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="../MoinMoin/web/static/htdocs/modernized/css/msie.css">
<![endif]-->


<link rel="alternate" title="1.9 Master Wiki: HelpOnUpdating" href="/action/rss_rc/HelpOnUpdating?diffs=1&amp;show_att=1&amp;action=rss_rc&amp;unique=0&amp;page=HelpOnUpdating&amp;ddiffs=1" type="application/rss+xml">


<link rel="Start" href="/FrontPage">
<link rel="Alternate" title="Wiki Markup" href="/action/raw/HelpOnUpdating?action=raw">
<link rel="Alternate" media="print" title="Print View" href="/action/print/HelpOnUpdating?action=print">
<link rel="Search" href="/FindPage">
<link rel="Index" href="/TitleIndex">
<link rel="Glossary" href="/WordIndex">
<link rel="Help" href="/HelpOnFormatting">
</head>

<body  lang="en" dir="ltr">
<div id="page" lang="en" dir="ltr">
<span id="interwiki"><a href="/FrontPage" rel="nofollow">MoinMaster</a><span class="sep">: </span></span>
<ul id="pagelocation">
<li><a href="/HelpOnUpdating">HelpOnUpdating</a></li>
</ul>
<div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span>
<span class="anchor" id="line-1"></span><span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span><span class="anchor" id="line-4"></span><span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><p class="line867">
<h1 id="Updating_MoinMoin">Updating MoinMoin</h1>
<span class="anchor" id="line-9"></span><span class="anchor" id="line-10"></span><p class="line867"><div class="table-of-contents"><p class="table-of-contents-heading">Contents<ol><li>
<a href="#Updating_MoinMoin">Updating MoinMoin</a><ol><li>
<a href="#General_procedures">General procedures</a><ol><li>
<a href="#Download_and_unpack_the_new_MoinMoin_archive">Download and unpack the new MoinMoin archive</a></li><li>
<a href="#Reading_the_docs">Reading the docs</a></li><li>
<a href="#Backup">Backup</a></li><li>
<a href="#Code_update">Code update</a></li><li>
<a href="#Configuration_update">Configuration update</a></li><li>
<a href="#Static_files">Static files</a></li><li>
<a href="#Wiki_pages_update">Wiki pages update</a><ol><li>
<a href="#System_and_Help_pages">System and Help pages</a></li><li>
<a href="#InterWiki_data">InterWiki data</a></li><li>
<a href="#Your_valuable_own_pages">Your valuable own pages</a></li></ol></li><li>
<a href="#Clean_your_cache">Clean your cache</a></li><li>
<a href="#Troubleshooting">Troubleshooting</a></li></ol></li><li>
<a href="#Version_specific_notes">Version specific notes</a></li></ol></li></ol></div><p class="line874"> <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span><p class="line867">
<h2 id="General_procedures">General procedures</h2>
<span class="anchor" id="line-13"></span><p class="line867">
<h3 id="Download_and_unpack_the_new_MoinMoin_archive">Download and unpack the new MoinMoin archive</h3>
<span class="anchor" id="line-14"></span><p class="line862">Download the <a href="https://master19.moinmo.in/MoinMoin">MoinMoin</a> code that you are interested in updating to. If you are not a developer, this is usually the distribution archive for the latest released version from the project homepage. <span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span><p class="line867">
<h3 id="Reading_the_docs">Reading the docs</h3>
<span class="anchor" id="line-17"></span><p class="line867"><span class="anchor" id="line-18"></span><span class="anchor" id="line-19"></span><span class="anchor" id="line-20"></span><span class="anchor" id="line-21"></span><div class="note"><span class="anchor" id="line-1-1"></span><p class="line862">Please read the files <tt class="backtick">docs/CHANGES</tt> and <tt class="backtick">docs/README.migration</tt> contained in the moin distribution archive for details on what changed and how to upgrade. <span class="anchor" id="line-2-1"></span><span class="anchor" id="line-3-1"></span><p class="line874">The docs might contain import installation, compatibility and upgrade hints we won't repeat here. </div><span class="anchor" id="line-22"></span><span class="anchor" id="line-23"></span><p class="line867">
<h3 id="Backup">Backup</h3>
<span class="anchor" id="line-24"></span><p class="line867"><span class="anchor" id="line-25"></span><span class="anchor" id="line-26"></span><span class="anchor" id="line-27"></span><span class="anchor" id="line-28"></span><div class="warning"><span class="anchor" id="line-1-2"></span><p class="line867"><strong>Before you update an existing wiki, MAKE A BACKUP!</strong> <span class="anchor" id="line-2-2"></span><span class="anchor" id="line-3-2"></span><p class="line862">You have been warned, and it's not our fault when you end up like this: <img alt="X-(" height="16" src="../MoinMoin/web/static/htdocs/modernized/img/angry.png" title="X-(" width="16" />  </div><span class="anchor" id="line-29"></span><span class="anchor" id="line-30"></span><p class="line862">As you want to make a <em>complete</em> backup (not even losing a single edit), you want to stop your wiki server process now. <span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span><p class="line874">This is what you should backup (the real paths depend on your installation): <span class="anchor" id="line-33"></span><ul><li><p class="line862">The directory containing the <a href="https://master19.moinmo.in/MoinMoin">MoinMoin</a> code files (e.g. <tt>/usr/lib/python*.*/site-packages/MoinMoin</tt>) <span class="anchor" id="line-34"></span><ul><li><p class="line891"><img alt="(!)" height="16" src="../MoinMoin/web/static/htdocs/modernized/img/idea.png" title="(!)" width="16" /> after you have a backup of this, you might want to delete the <tt class="backtick">MoinMoin</tt> directory there to avoid having old code files there that are not overwritten by the new code, but maybe interfering with it) <span class="anchor" id="line-35"></span></li></ul></li><li><p class="line862">The directory containing your data (e.g. <tt>/usr/share/moin/wikiname/data</tt> - see data_dir in your moin_config.py).  <span class="anchor" id="line-36"></span></li><li>your moin.wsgi file (or other server adaptor file you use) <span class="anchor" id="line-37"></span></li><li>your wikiconfig.py or farmconfig.py or other wiki configuration files <span class="anchor" id="line-38"></span></li><li>your web server configuration files <span class="anchor" id="line-39"></span></li><li>optionally you can also backup your underlay_data_dir (it shouldn't contain data from you, but it is maybe easier to rollback if you have a backup of it and don't need to get it from some other place) <span class="anchor" id="line-40"></span><span class="anchor" id="line-41"></span></li></ul><p class="line867">
<h3 id="Code_update">Code update</h3>
<span class="anchor" id="line-42"></span><p class="line862">First remove the old <a href="https://master19.moinmo.in/MoinMoin">MoinMoin</a> code (including any <tt class="backtick">*.pyc</tt> and <tt class="backtick">*.pyo</tt> files). <span class="anchor" id="line-43"></span><span class="anchor" id="line-44"></span><p class="line862">If you are installing from the original distribution archive, run "<tt>python&nbsp;setup.py&nbsp;install</tt>" as root to install the new version. <span class="anchor" id="line-45"></span><span class="anchor" id="line-46"></span><p class="line874">If you are using some Linux (or other) distributor's package, please read their docs. <span class="anchor" id="line-47"></span><span class="anchor" id="line-48"></span><p class="line874">Please also upgrade your moin.wsgi (or other) server adaptor file. You likely have to edit it to fix some pathes and you also need to set some specific user/group/mode on that file (just look at the old one before replacing it). <span class="anchor" id="line-49"></span><span class="anchor" id="line-50"></span><p class="line867">
<h3 id="Configuration_update">Configuration update</h3>
<span class="anchor" id="line-51"></span><span class="anchor" id="line-52"></span><p class="line874">After upgrading, your existing wiki should continue to work (the goal is to have sane defaults for any new config values, but then there can be bugs and also changes that must break compatibility). <span class="anchor" id="line-53"></span><span class="anchor" id="line-54"></span><p class="line862">Check that this is indeed the case, and then take the time to check the CHANGES file in your distribution archive. Often, new features will be invisible unless you extend your configuration in <tt class="backtick">wikiconfig.py</tt>. <span class="anchor" id="line-55"></span><span class="anchor" id="line-56"></span><p class="line862">Check that you have the latest "intermap.txt" file; If you have your own entries, you can point "shared_intermap" at a file loaded <em>before</em> the file in your data directory, which takes precedence (i.e. have global entries in the shared one, private entries the data dir file). <span class="anchor" id="line-57"></span><span class="anchor" id="line-58"></span><p class="line867">
<h3 id="Static_files">Static files</h3>
<span class="anchor" id="line-59"></span><p class="line874">Since release 1.9.0, moin has a built-in static file webserver to serve the CSS, images, javascript, etc. files that come with moin. <span class="anchor" id="line-60"></span><span class="anchor" id="line-61"></span><p class="line862">This static file web server serves the files contained in path <tt class="backtick">MoinMoin/web/static/htdocs/</tt> at URL <tt class="backtick">&lt;script&nbsp;URL&gt;&nbsp;+&nbsp;&lt;url_prefix_static&gt;</tt>. <span class="anchor" id="line-62"></span><span class="anchor" id="line-63"></span><p class="line862">So, if you run your wiki at the root of your site (/) the default <tt class="backtick">url_prefix_static</tt> will work for you. <span class="anchor" id="line-64"></span><span class="anchor" id="line-65"></span><p class="line862">The default <tt class="backtick">url_prefix_static</tt> is something like <tt class="backtick">../MoinMoin/web/static/htdocsV</tt> (VVV is 190 for moin release 1.9.0) and VVV will change on every release (moin 1.9.1 will use <tt class="backtick">../MoinMoin/web/static/htdocs1</tt> by default). This is done to be able to use a very long cache lifetime for the static stuff, so your wiki will be faster and cause less load and traffic. Even if you don't use a long cache lifetime, a changing <tt class="backtick">url_prefix_static</tt> makes sure that if you upgrade your wiki all your wiki users will immediately get the fresh static stuff. <span class="anchor" id="line-66"></span><span class="anchor" id="line-67"></span><p class="line862">If you run your wiki at a different base path, you need to set <tt class="backtick">url_prefix_static</tt> to the correct value, e.g. <tt class="backtick">url_prefix_static&nbsp;=&nbsp;'/mywiki'&nbsp;+&nbsp;url_prefix_static</tt> if you run your wiki at <tt class="backtick">/mywiki</tt>. <span class="anchor" id="line-68"></span><span class="anchor" id="line-69"></span><p class="line862">If you want moin to serve a different directory than the default <tt class="backtick">MoinMoin/web/static/htdocs/</tt>, you can change the path in <tt class="backtick">moin.wsgi</tt> like <tt class="backtick">shared='/my/path/to/htdocs'</tt> to serve static files from that path. <span class="anchor" id="line-70"></span><span class="anchor" id="line-71"></span><p class="line867"><img alt="(!)" height="16" src="../MoinMoin/web/static/htdocs/modernized/img/idea.png" title="(!)" width="16" /> Please note that if you serve the static files from a different than the "builtin" directory, you are responsible for updating those files from <tt class="backtick">MoinMoin/web/static/htdocs/</tt> when you upgrade your moin installation. <span class="anchor" id="line-72"></span><span class="anchor" id="line-73"></span><p class="line862">Alternatively to using moin's builtin static files server, you can also serve the static files with some external webserver (e.g. with Apache, if that is your main web server). If you want to do this, just have your web server catch the requests for stuff below the <tt class="backtick">url_prefix_static</tt> URL (before they reach the moin script) and serve those requests with the files from <tt class="backtick">MoinMoin/web/static/htdocs/</tt> (or a copy of them). <span class="anchor" id="line-74"></span><span class="anchor" id="line-75"></span><span class="anchor" id="line-76"></span><p class="line867">
<h3 id="Wiki_pages_update">Wiki pages update</h3>
<span class="anchor" id="line-77"></span><p class="line867">
<h4 id="System_and_Help_pages">System and Help pages</h4>
<span class="anchor" id="line-78"></span><p class="line862">System and help pages are separately stored in the <tt class="backtick">underlay</tt> directory. Just use the fresh underlay directory we provide in the distribution archive (move the old one to your backup directory) and read and follow the <a href="/LanguageSetup">LanguageSetup</a> page in your wiki. <span class="anchor" id="line-79"></span><span class="anchor" id="line-80"></span><p class="line862">If you previously modified some system page in your wiki (see <a href="https://master19.moinmo.in/EditedSystemPages">EditedSystemPages</a> on your wiki), you might want to <em>Delete</em> them to use moinmoin's updated version (warning: you can't un-delete that page later). <span class="anchor" id="line-81"></span><span class="anchor" id="line-82"></span><p class="line867">
<h4 id="InterWiki_data">InterWiki data</h4>
<span class="anchor" id="line-83"></span><p class="line862">Copy <tt class="backtick">intermap.txt</tt> from the distribution archive into your wiki data  <span class="anchor" id="line-84"></span><span class="anchor" id="line-85"></span><p class="line867">
<h4 id="Your_valuable_own_pages">Your valuable own pages</h4>
<span class="anchor" id="line-86"></span><p class="line862">See CHANGES and README.migration for maybe necessary steps to convert your <tt class="backtick">data_dir</tt> to what we expect. <span class="anchor" id="line-87"></span><span class="anchor" id="line-88"></span><p class="line867">
<h3 id="Clean_your_cache">Clean your cache</h3>
<span class="anchor" id="line-89"></span><p class="line862">Finally, stop moin, delete cached data by running <tt class="backtick">moin&nbsp;...&nbsp;maint&nbsp;cleancache</tt>, start moin. <span class="anchor" id="line-90"></span><span class="anchor" id="line-91"></span><p class="line867">
<h3 id="Troubleshooting">Troubleshooting</h3>
<span class="anchor" id="line-92"></span><p class="line874">Hints:  <span class="anchor" id="line-93"></span><ul><li>Use absolute pathes, not relative ones. <span class="anchor" id="line-94"></span><span class="anchor" id="line-95"></span></li><li class="gap">Make sure you have an adequate logging configuration (see server adaptor script and the logging configuration file) and carefully read the log! <span class="anchor" id="line-96"></span><span class="anchor" id="line-97"></span></li><li class="gap"><p class="line862">Make sure python can find the MoinMoin code package and your wiki configuration files (fix <tt class="backtick">sys.path</tt> in the server adaptor script or PYTHONPATH in the environment). <span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span></li><li class="gap"><p class="line862">Make sure MoinMoin can find the data_dir and data_underlay_dir (see <tt class="backtick">wikiconfig.py</tt>). <span class="anchor" id="line-100"></span><span class="anchor" id="line-101"></span></li><li class="gap"><p class="line862">When you are editing python code files (e.g. <tt class="backtick">wikiconfig.py</tt>), be careful to indent correctly (use 4 spaces, not tabs) and also be careful not to make syntax errors. If you have a working config, do not make too many changes at once (and have a backup of a working version). <span class="anchor" id="line-102"></span><span class="anchor" id="line-103"></span></li><li class="gap"><p class="line862">Check permissions (the moin process needs read/write access to <tt class="backtick">data_dir</tt> and <tt class="backtick">data_underlay_dir</tt>, it needs at least read access to the <a href="https://master19.moinmo.in/MoinMoin">MoinMoin</a> code and configuration). <span class="anchor" id="line-104"></span><span class="anchor" id="line-105"></span></li><li class="gap"><p class="line862">Depending on your installation, more tightly secured permissions are a good idea. Ideally, you assign all files in the data directory to the user the web server runs under, and then you use <tt class="backtick">700</tt> or <tt class="backtick">770</tt> - see also the <tt class="backtick">config.umask</tt> setting. <span class="anchor" id="line-106"></span><span class="anchor" id="line-107"></span></li></ul><p class="line867">
<h2 id="Version_specific_notes">Version specific notes</h2>
<span class="anchor" id="line-108"></span><ul><li><p class="line862">For 1.2.x to 1.3.x, you maybe find some useful hints on <a class="interwiki" href="https://moinmo.in/MauricioHernandez/HowToSurviveMigration" title="MoinMoin">MauricioHernandez/HowToSurviveMigration</a>. <span class="anchor" id="line-109"></span></li><li><p class="line862">For 1.5.x to 1.6.x, see <a class="interwiki" href="https://moinmo.in/RickVanderveer/UpgradingFromMoin15ToMoin16" title="MoinMoin">RickVanderveer/UpgradingFromMoin15ToMoin16</a>. <span class="anchor" id="line-110"></span></li><li><p class="line862">For 1.6.x to 1.7.x, see <a class="interwiki" href="https://moinmo.in/RickVanderveer/UpgradingFromMoin16ToMoin17" title="MoinMoin">RickVanderveer/UpgradingFromMoin16ToMoin17</a>. <span class="anchor" id="line-111"></span></li><li><p class="line862">For 1.7.x to 1.8.x, see <a class="interwiki" href="https://moinmo.in/RickVanderveer/UpgradingFromMoin17ToMoin18" title="MoinMoin">RickVanderveer/UpgradingFromMoin17ToMoin18</a>. <span class="anchor" id="line-112"></span></li><li><p class="line862">For 1.8.x to 1.9.x, see <a class="interwiki" href="https://moinmo.in/RickVanderveer/UpgradingFromMoin18ToMoin19" title="MoinMoin">RickVanderveer/UpgradingFromMoin18ToMoin19</a>. <span class="anchor" id="line-113"></span></li></ul><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">MoinMaster: HelpOnUpdating  (last edited 2013-02-23 20:44:09 by <span title="ReimarBauer @ port-92-204-28-185.dynamic.qsc.de[92.204.28.185]"><a class="interwiki" href="https://moinmo.in/ReimarBauer" title="ReimarBauer @ port-92-204-28-185.dynamic.qsc.de[92.204.28.185]">ReimarBauer</a></span>)</p>
<div id="pagebottom"></div>
</div>
</body>
</html>

